package com.ruoyi.sl.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.sl.mapper.SlSpecialAttendanceMapper;
import com.ruoyi.sl.domain.SlSpecialAttendance;
import com.ruoyi.sl.service.ISlSpecialAttendanceService;

/**
 * 特殊考勤天数Service业务层处理
 * 
 * @author admin
 * @date 2024-07-11
 */
@Service
public class SlSpecialAttendanceServiceImpl implements ISlSpecialAttendanceService 
{
    @Autowired
    private SlSpecialAttendanceMapper slSpecialAttendanceMapper;

    /**
     * 查询特殊考勤天数
     * 
     * @param sattendanceId 特殊考勤天数主键
     * @return 特殊考勤天数
     */
    @Override
    public SlSpecialAttendance selectSlSpecialAttendanceBySattendanceId(Long sattendanceId)
    {
        return slSpecialAttendanceMapper.selectSlSpecialAttendanceBySattendanceId(sattendanceId);
    }

    /**
     * 查询特殊考勤天数
     *
     * @param deptId 部门ID
     * @return 特殊考勤天数
     */
    @Override
    public SlSpecialAttendance selectSlSpecialAttendanceByDeptId(Long deptId, String strYear,String strMonth){
        return slSpecialAttendanceMapper.selectSlSpecialAttendanceByDeptId( deptId,  strYear, strMonth);
    }


    /**
     * 查询指定部门的数据是否存在
     *
     * @param slSpecialAttendance 部门ID
     * @return 特殊考勤天数
     */
    @Override
    public Boolean checkSlSpecialAttendanceByDeptId(SlSpecialAttendance slSpecialAttendance){
        Long id = StringUtils.isNull(slSpecialAttendance.getSattendanceId()) ? -1L : slSpecialAttendance.getSattendanceId();
        SlSpecialAttendance tmpObj  = slSpecialAttendanceMapper.checkSlSpecialAttendanceByDeptId(slSpecialAttendance);
        if (StringUtils.isNotNull(tmpObj) && tmpObj.getSattendanceId().longValue() != id.longValue())
        {
            return false;
        }
        return true;
    }
    /**
     * 查询特殊考勤天数列表
     * 
     * @param slSpecialAttendance 特殊考勤天数
     * @return 特殊考勤天数
     */
    @Override
    public List<SlSpecialAttendance> selectSlSpecialAttendanceList(SlSpecialAttendance slSpecialAttendance)
    {
        return slSpecialAttendanceMapper.selectSlSpecialAttendanceList(slSpecialAttendance);
    }

    /**
     * 新增特殊考勤天数
     * 
     * @param slSpecialAttendance 特殊考勤天数
     * @return 结果
     */
    @Override
    public int insertSlSpecialAttendance(SlSpecialAttendance slSpecialAttendance)
    {
        slSpecialAttendance.setCreateTime(DateUtils.getNowDate());
        return slSpecialAttendanceMapper.insertSlSpecialAttendance(slSpecialAttendance);
    }

    /**
     * 修改特殊考勤天数
     * 
     * @param slSpecialAttendance 特殊考勤天数
     * @return 结果
     */
    @Override
    public int updateSlSpecialAttendance(SlSpecialAttendance slSpecialAttendance)
    {
        slSpecialAttendance.setUpdateTime(DateUtils.getNowDate());
        return slSpecialAttendanceMapper.updateSlSpecialAttendance(slSpecialAttendance);
    }

    /**
     * 批量删除特殊考勤天数
     * 
     * @param sattendanceIds 需要删除的特殊考勤天数主键
     * @return 结果
     */
    @Override
    public int deleteSlSpecialAttendanceBySattendanceIds(Long[] sattendanceIds)
    {
        return slSpecialAttendanceMapper.deleteSlSpecialAttendanceBySattendanceIds(sattendanceIds);
    }

    /**
     * 删除特殊考勤天数信息
     * 
     * @param sattendanceId 特殊考勤天数主键
     * @return 结果
     */
    @Override
    public int deleteSlSpecialAttendanceBySattendanceId(Long sattendanceId)
    {
        return slSpecialAttendanceMapper.deleteSlSpecialAttendanceBySattendanceId(sattendanceId);
    }
}
